package lexico;

/**
 * Gerencia lexemas para palavras reservadas, 
 * identificadores e tokens compostos (ex. ==).
 * Tambem e' util para gerenciar a forma escrita 
 * dos operadores no codigo intermediario 
 * (ex. -2 tem a forma minus 2). 
 * @author Cefanys
 */
public class Palavra extends Token {

	public String lexema = "";
	
	public Palavra(String lexema, int tag) {
		super(tag);
		this.lexema = lexema;
	}
	
	public String toString(){
		return lexema;
	}
	
	public static final Palavra
		igual = new Palavra ("==", Tag.OP_IGUAL),
		diferente = new Palavra ("!=", Tag.OP_DIFERENTE),
		maior_que = new Palavra (">=", Tag.OP_MAIOR_IGUAL),
		menor_que = new Palavra ("<=", Tag.OP_MENOR_IGUAL),
		verdadeiro = new Palavra ("verdadeiro", Tag.VERDADEIRO),
		falso = new Palavra ("falso", Tag.FALSO),
		
		minus = new Palavra ("minus", Tag.MINUS),
		temp = new Palavra ("temp", Tag.TEMP);
	
}//Palavra.class